
// Cookie说明:
// AUTH_ACCOUNT=登录账号, 在登录成功/注册成功/找回密码成功后记录
// TEMP_ACCOUNT=临时账号, 只保留10分钟, 用于在登录页面输入账号后向注册/找回密码页面传递参数

+function(mui, app) {
	mui.init({
		statusBarBackground: "#F7F7F7"
	});

	// 登录
	$(function() {
		var form = $("form[name=login]");
		if (form.length == 0) { return; }

		var inputs = form.find("input[type=text],input[type=password]");

		var submit = function(e) {
			e.preventDefault();
			// 必填校验, login页面的校验比较简单没有用zhhvalidate
			for (var i = 0; i < inputs.length; i++) {
				var me = inputs.eq(i);
				if (!me.val()) { return app.showRequiredPrompt(me, true); }
			}
			// 提交
			Utils.formSubmit(form, function(json) {
				var account = form.find("input[name=account]").val();
				window.Cookies && Cookies.set("AUTH_ACCOUNT", account, { path:app.getCookiePath() });
				window.Cookies && Cookies.remove("TEMP_ACCOUNT", { path:app.getCookiePath() });
				app.toMainPage.call(form, json);
			});
		};

		// 绑定事件-提交
		form.find(".do-submit").click(submit);

		// 回车键移到下一输入框, 最后一个回车提交
		Utils.enterToNext(inputs, submit);

		inputs.zchanged(function(n, o) {
			// 输入框有变更时清空错误提示
			form.find(".prompt-message").text("");
			if (this.name == "account") {
				var options = { path:app.getCookiePath() };
				// 登录页面没有引用zhh.validate.js
				// if (window.Cookies && $.fn.zhhvalidate.defaults.regexp.mobile.test(n)) {
				if (/^1[0-9]{10}$/.test(n)) {
					window.Cookies && Cookies.set("TEMP_ACCOUNT", n, $.extend({ expires:app.getCookieExpires( 10 * 60 ) }, options));
				} else {
					window.Cookies && Cookies.remove("TEMP_ACCOUNT", options);
				}
			}
		});

		if (window.Cookies) {
			var account = Cookies.get("TEMP_ACCOUNT") || Cookies.get("AUTH_ACCOUNT");
			account && form.find("input[name=account]").val(account);
		}
	});

	// 注册
	$(function() {
		var form = $("form[name=register]");
		if (form.length == 0) { return; }

		var inputs = form.find("input[type=text],input[type=password]");

		var submit = function(e) {
			e.preventDefault();
			Utils.formValidAndSubmit(form, {login:true, rememberMe:true}, function(json) {
				var account = form.find("input[name=account]").val();
				window.Cookies && Cookies.set("AUTH_ACCOUNT", account, { path:app.getCookiePath() });
				app.toMainPage.call(form, json);
			});
		};

		// 绑定事件-提交
		form.find(".do-submit").click(submit);

		// 回车键移到下一输入框, 最后一个回车提交
		Utils.enterToNext(inputs, submit);

		inputs.zchanged(function(n, o) {
			// 输入框有变更时清空错误提示
			form.find(".prompt-message").text("");
		});

		// 绑定事件-发送短信验证码
		form.find(".do-send").click(app.doSendSmsCode);

		if (window.Cookies) {
			var account = Cookies.get("TEMP_ACCOUNT");
			account && form.find("input[name=account]").val(account);
		}
	});

	// 忘记密码-验证手机
	$(function() {
		var form = $("form[name=repwd-valid]");
		if (form.length == 0) { return; }

		// 发送短信验证码
		form.find(".do-send").click(app.doSendSmsCode);

		// 下一步
		form.find(".do-next").click(function(e) {
			e.preventDefault();
			Utils.formValidAndSubmit(form, function(json) {
				var account = form.find("input[name=account]").val();
				window.Cookies && Cookies.set("AUTH_ACCOUNT", account, { path:app.getCookiePath() });
				form.addClass("hide");
				var resetForm = $("form[name=repwd-reset]");
				resetForm.removeClass("hide");
				resetForm.fillForm($.extend({ token:json.body.token }, form.serializeJson()));
				resetForm.find("input[name=newPassword]").focus();
			});
		});

		if (window.Cookies) {
			var account = Cookies.get("TEMP_ACCOUNT");
			account && form.find("input[name=account]").val(account);
		}
	});
	// 忘记密码-重置密码
	$(function() {
		var form = $("form[name=repwd-reset]");
		if (form.length == 0) { return; }

		var inputs = form.find("input[type=text],input[type=password]");

		var submit = function(e) {
			e.preventDefault();
			Utils.formValidAndSubmit(form, function() {
				Utils.succTips("密码重置成功");
				setTimeout(function() {
					mui.back();
				}, 500);
			});
		};

		// 绑定事件-提交
		form.find(".do-submit").click(submit);

		// 回车键移到下一输入框, 最后一个回车提交
		Utils.enterToNext(inputs, submit);
	});

}(mui, window.app);

